function [param, type] = default_args(type)
%% default_args(type)
% setting default values to param, according to values of type
param = [];
param.space = 'color';
param.points = [];
param.output = '';
param.outputclass = 0;
param.output_append = 0;
param.use_jpegtbx = 1;
param.input_filetype = '*.*';
param.verbose = 1;
param.qf = 75;
param.feature_size = 0;

param.use_abs = 0;
param.diff_n = 0;
param.diff_dir = 'x';
param.diff_dis = 1;
param.diff_first = 1;
param.pe_n = 0;
param.pe_func = @compute_residual_image;
param.use_mapping = 0;
param.ratio = 1;

% threshold and space
switch lower(type)
    case 'hist'
        param.threshold = 10;
    case 'colorhist'
        param.space = 'color';
    case 'colorhist2'
        param.space = 'color';
    case 'point-hist'
        param.threshold = 10;
    case 'markov'
        param.threshold = 7;
    case 'point-diff-markov'
        param.threshold = 7;
    case 'diff-markov'
        param.threshold = 7;
    case 'abs-diff-markov'
        param.threshold = 7;
        param.use_abs = 1;
        type = 'diff-markov';
    case 'markov2-noncausal'
        param.threshold = 3;
        param.space = 'grey';
    case 'markov2-noncausal-dct'
        param.space = 'dct';
        param.threshold = 3;
        param.use_abs = 1;
    case 'hist-entropyfilt'
        param.threshold = 16;
        param.space = 'grey';
    case 'hist-rangefilt'
        param.threshold = 16;
        param.space = 'grey';
    case 'hist-stdfilt'
        param.threshold = 16;
        param.space = 'grey';
    case 'ccpev-274'
        param.space = 'path';
    case 'ccpev-548'
        param.space = 'path';
    case 'lbp_u2(8,1)'
        param.space = 'grey';
    case 'lbp_u2(8,1-3)'
        param.space = 'grey';
    case 'lbp'
        param.space = 'grey';
        param.radius = 1;
        param.neighbors = 8;
    case 'lbp-test'
        param.space = 'grey';
    case 'lbp-test2'
        param.space = 'grey';
    case 'gabor'
        param.space = 'grey';
    case 'lpq'
        param.space = 'grey';
    case 'wld'
        param.space = 'grey';
    case 'ltp'
        param.space = 'grey';
        param.threshold = 5;
    case 'iflt'
        param.space = 'grey';
    case 'iflt-diff'
        param.diff_n = 1;
        param.space = 'grey';
        type = 'iflt';
    case 'ldp'
        param.space = 'grey';
    case 'dlbp'
        param.space = 'grey';
        param.radius = 1;
        param.neighbors = 8;
        param.ratio = 0.8;
        param.local_func = @lbp;
    case 'dlbpk'
        param.space = 'grey';
        param.radius = 1;
        param.neighbors = 8;
        param.ratio = 0.8;
        param.local_func = @lbp;
    case 'lfd_c1'
        param.space = 'grey';
        param.radius = 1;
        param.neighbors = 8;
        param.Q = 50;
        param.rng = [2:5];
    case 'lfd_c2'
        param.space = 'grey';
        param.radius = 1;
        param.neighbors = 8;
        param.Q = 50;
        param.rng = [2:5];
    case 'locp'
        param.radius = 1;
        param.neighbors = 8;
end

end %default_args